Systems and methods for providing an augmented-reality virtual treasure hunt

ABSTRACT

A method for providing a treasure hunt in augmented reality includes presenting an indication of a starting point of a path through an environment that, when followed, allows a virtual gift card to be obtained. Then, as a mobile computer system travels through the environment from a location proximate the starting point, navigation indications to allow the path to be followed are presented. Presenting the navigation indications may include capturing images of portions of the environment, detecting locations corresponding to the path, modifying a captured image based on a detected location by compositing it with a navigation indication corresponding to a direction of the path; and displaying the modified captured image. That the mobile computer system has been moved to a location proximate an ending point of the path can be detected and may trigger an update to an account to associate the virtual gift card therewith.

FIELD

This relates to real-time augmented reality, and, more particularly, toproviding an augmented-reality virtual treasure hunt.

BACKGROUND

A treasure hunt is a familiar fun-time pursuit to many. In a treasurehunt, a person—a “seeker” or “treasure hunter”—is seeking to find ahidden treasure. In many cases, the seeker is provided with a treasuremap showing the shape of a route to the treasure. The seeker then usesthe map to try and locate their prize: the treasure.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments are described in detail below, with reference to thefollowing drawings:

FIG. 1 is a schematic operation diagram illustrating an operatingenvironment of an example embodiment including a pair of mobile computersystems and a server computer system;

FIGS. 2A and 2B show the front and back of an example mobile computersystem, respectively;

FIG. 3 is a high-level schematic diagram of the example mobile computersystem of FIGS. 2A and 2B;

FIG. 4 shows a simplified organization of software components stored ina memory of the example mobile computer system of FIGS. 2A and 2B;

FIG. 5 is high-level schematic diagram of a server computer system;

FIG. 6 shows a simplified organization of software components stored ina memory of the server computer system of FIG. 5;

FIG. 7 is a plan view of an example environment which serves as alocation for an example treasure hunt;

FIG. 8 is a flowchart showing operations performed in generating a modelfor recognizing a path corresponding to a given treasure hunt;

FIG. 9 is a flowchart showing operations performed in providing guidancealong a path corresponding to a given treasure hunt;

FIG. 10 is a flowchart showing operations performed in providingnavigation instructions;

FIG. 11 provides an image showing an elevation view of a portion of theexample environment of FIG. 7;

FIG. 12 shows an example screen display providing navigation guidancealong a path corresponding to the example treasure hunt through theexample environment of FIG. 7;

FIGS. 13A and 13B show example screen displays such as may be providedupon arrival at a treasure; and

FIG. 14 shows an example screen display providing a treasure mapcorresponding to the path corresponding to the example treasure huntthrough the example environment of FIG. 7.

Like reference numerals are used in the drawings to denote like elementsand features.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

According to the subject matter of the present application, there may beprovided a mobile computer system. The mobile computer system mayinclude a processor, an image capture module, a display module, and amemory module. One or more of the processor, the image capture module,the display module, and the memory module may be coupled to theprocessor. The memory may store instructions that, when executed by theprocessor, cause the mobile computer system to: present one or moreindications of a starting point of a path to be followed through anenvironment to obtain a virtual gift card; and, as the mobile computersystem travels through the environment from a location proximate thestarting point, present navigation indications to allow the path to befollowed. The presenting may include capturing, using the image capturemodule, images of portions of the environment; detecting locationscorresponding to the path; and modifying one or more of the capturedimages based on the detected locations corresponding to the path. Themodifying may include compositing a given captured image with anavigation indication corresponding to a direction of the path relativeto a corresponding detected location corresponding to the path. Thepresenting may further include displaying, using the display module, themodified one or more of the captured images. The instructions whenexecuted by the processor may further cause the mobile computer systemto: detect that the mobile computer system is in a location proximate anending point of the path; and, responsive to detecting that the mobilecomputer system is in the location proximate the ending point, update anaccount associated with the mobile computer system to associate thevirtual gift card with the account.

Conveniently, in this way, a virtual treasure hunt may be provided basedon an image-recognition model with the virtual gift card serving as thetreasure. The image-recognition model may be a model trained based on avideo captured by a mobile computer system traveling through theenvironment along the path corresponding to the treasure hunt as furtherdescribed below.

In some implementations, the instructions, when executed by theprocessor, may further cause the mobile computer system to: receive datacorresponding to a model for identifying locations within an environmentbased on images of portions of the environment. It may be that detectinglocations corresponding to the path includes identifying one or morelocations within the environment based on the captured images using themodel. Additionally or alternatively, it may be that the mobile computersystem being in the location proximate the ending point of the path isdetected using the model based on at least one of the captured images ofportions of the environment. Additionally or alternatively, it may bethat the model for identifying locations within the environment based onimages of portions of the environment was previously generated based ona video captured by another electronic device as it (the anotherelectronic device) travelled through the environment along the paththrough the environment.

In some implementations, the mobile computer system may further includea location module. It may be that detecting locations corresponding tothe path includes monitoring the location of the mobile computer systemusing the location module. Additionally or alternatively, it may be thatthe mobile computer system being in the location proximate the endingpoint of the path is detected based on the location of the mobilecomputer system as monitored using the location module.

In some implementations, the navigation indications may include arrowsindicating a direction to next travel to follow the path.

In some implementations, the instructions, when executed by theprocessor, may further cause the mobile computer system to: responsiveto detecting that the mobile computer system is in the locationproximate the ending point, display, using the display module, ananimation.

In some implementations, the instructions, when executed by theprocessor, may further cause the mobile computer system to: display,using the display module, a map depicting at least the ending point ofthe path. For example, it may be that the map was previously generatedbased on location data previously collected by another electronic deviceas it (the another electronic device) travelled through the environmentalong the path through the environment.

In some implementations, updating the account associated with the mobilecomputer system to associate the virtual gift card with the account mayinclude adding the virtual gift card to the virtual wallet.

According to the subject matter of the present application, there may beprovided a computer-implemented method. The method may includepresenting one or more indications of a starting point of a path to befollowed through an environment to obtain a virtual gift card; and, as amobile computer system travels through the environment from a locationproximate the starting point, presenting navigation indications to allowthe path to be followed. The presenting may include: capturing, by themobile computer system, images of portions of the environment; detectinglocations corresponding to the path; and modifying one or more of thecaptured images based on the detected locations corresponding to thepath. The modifying may include compositing a given captured image witha navigation indication corresponding to a direction of the pathrelative to a corresponding detected location corresponding to the path.The presenting may further include displaying, using a display of themobile computer system, the modified one or more of the captured images.The method may further include detecting that the mobile computer systemis in a location proximate an ending point of the path; and, responsiveto detecting that the mobile computer system is in the locationproximate the ending point, updating an account associated with themobile computer system to associate the virtual gift card with theaccount.

In some implementations, the method may further include receiving datacorresponding to a model for identifying locations within an environmentbased on images of portions of the environment. It may be that detectinglocations corresponding to the path includes identifying one or morelocations within the environment based on the captured images using themodel. For example, it may be that the mobile computer system being inthe location proximate the ending point of the path is detected usingthe model based on at least one of the captured images of portions ofthe environment. Additionally or alternatively, it may be that the modelfor identifying locations within the environment based on images ofportions of the environment was previously generated based on a videocaptured by another electronic device as it travelled through theenvironment along the path through the environment.

In some implementations, it may be that detecting locationscorresponding to the path includes monitoring the location of the mobilecomputer system using a location module of the mobile computer.

In some implementations, the method may further include, responsive todetecting that the mobile computer system is in the location proximatethe ending point, displaying, using the display, an animation.

In some implementations, it may be that the account corresponds to avirtual wallet and updating the account associated with the mobilecomputer system to associate the virtual gift card with the account mayinclude adding the virtual gift card to the virtual wallet.

According to the subject matter of the present application, there may beprovided a computer-readable medium storing instructions that, whenexecuted by a processor of a mobile computer system cause the mobilecomputer system to perform the above-described method. In someimplementations, the computer-readable medium may be a non-transitorycomputer-readable storage medium.

According to the subject matter of the present application, there may beprovided a computer-readable medium storing instructions. Thecomputer-readable medium may be a non-transitory computer-readablestorage medium. The computer-readable medium may store instructionsthat, when executed by a processor of a mobile computer system, causethe computer system to: present one or more indications of a startingpoint of a path to be followed through an environment to obtain avirtual gift card; and, as the mobile computer system travels throughthe environment from a location proximate the starting point, presentnavigation indications to allow the path to be followed. The presentingmay include: capturing images of portions of the environment; detectinglocations corresponding to the path; and modifying one or more of thecaptured images based on the detected locations corresponding to thepath. It may be that the modifying includes compositing a given capturedimage with a navigation indication corresponding to a direction of thepath relative to a corresponding detected location corresponding to thepath. The presenting may further include displaying the modified one ormore of the captured images. The instructions, when executed, mayfurther cause the computer system to: detect that the mobile computersystem is in a location proximate an ending point of the path; and,responsive to detecting that the mobile computer system is in thelocation proximate the ending point, update an account associated withthe mobile computer system to associate the virtual gift card with theaccount.

Other aspects and features of the present application will be understoodby those of ordinary skill in the art from a review of the followingdescription of examples in conjunction with the accompanying figures.

In the present application, the term “and/or” is intended to cover allpossible combinations and sub-combinations of the listed elements,including any one of the listed elements alone, any sub-combination, orall of the elements, and without necessarily excluding additionalelements.

In the present application, the phrase “at least one of . . . or . . . ”is intended to cover any one or more of the listed elements, includingany one of the listed elements alone, any sub-combination, or all of theelements, without necessarily excluding any additional elements, andwithout necessarily requiring all of the elements.

FIG. 1 is a schematic operation diagram illustrating an operatingenvironment of an example embodiment.

As illustrated, a first mobile computer system 100, a server computersystem 110, and a second mobile computer system 120 communicate via anetwork 130.

The first mobile computer system 100 and the second mobile computersystem 120 are mobile computing devices. Each may, as illustrated, be asmart phone. However, one or both of the first mobile computer system100 and the second mobile computer system 120 may be a computing deviceof another type such as, for example, a personal computer, a laptopcomputer, a tablet computer, a notebook computer, a hand-held computer,a personal digital assistant, a portable navigation device, a mobilephone, a wearable computing device (e.g., a smart watch, a wearableactivity monitor, wearable smart jewelry, and glasses and other opticaldevices that include optical head-mounted displays), an embeddedcomputing device (e.g., in communication with a smart textile orelectronic fabric), and any other type of computing device that may beconfigured to store data and software instructions, and execute softwareinstructions to perform operations consistent with disclosedembodiments.

The first mobile computer system 100 is associated with a first person102. The first person 102 may be a person setting/defining a treasurehunt for completion by one or more others. As further described below,the first person 102 may use the first mobile computer system 100 toconfigure a treasure hunt and/or to select and/or fund a virtual goodthat will serve as the treasure that can be obtained by completing thetreasure hunt.

The second mobile computer system 120 is associated with a second person104. The second person 104 may be a seeker attempting the treasure hunt.Completing the treasure hunt may, for example, allow the second person104 to obtain a virtual good associated with the treasure hunt. Asfurther described below, the second mobile computer system 120 may guidethe second person 104 in relation to the treasure hunt—i.e., the secondmobile computer system 120 may provide guidance for completing thetreasure hunt.

As further described the first mobile computer system 100 and the secondmobile computer system 120 may, at various times and, potentially, atthe same time, be in the same environment. However, they may also not bein that environment at the same time as further described below. Forexample, the first mobile computer system 100 may be in the environmentat a first time related to the defining of the treasure hunt through theenvironment and the second mobile computer system 120 may be in thatsame environment at a second, later time in order to provide guidance inrelation to the treasure hunt.

The server computer system 110 is a computer server. Such a computersystem may, for example, be a mainframe computer, a minicomputer, or thelike. In some implementations thereof, a computer server system may beformed of or may include one or more computing devices. A computerserver system may include and/or may communicate with multiple computingdevices such as, for example, database servers, compute servers, and thelike. Multiple computing devices such as these may be in communicationusing a computer network and may communicate to act in cooperation as acomputer server system. For example, such computing devices maycommunicate using a local-area network (LAN). In some embodiments, acomputer server system may include multiple computing devices organizedin a tiered arrangement. For example, a computer server system mayinclude middle tier and back-end computing devices. In some embodiments,a computer server system may be a cluster formed of a plurality ofinteroperating computing devices.

The server computer system 110 may be in a location geographicallydisparate from the aforementioned environment. Put differently, theenvironment including one or both of the first mobile computer system100 and the second mobile computer system 120 may be remote from theserver computer system 110 and vice-versa.

The network 130 is a computer network. In some embodiments, the network130 may be an internetwork such as may be formed of one or moreinterconnected computer networks. For example, the network 130 may be ormay include an Ethernet network, an asynchronous transfer mode (ATM)network, a wireless network, or the like.

As further described below, the first mobile computer system 100 mayco-operate with the server computer system 110 via the network 130 inorder to define the aforementioned treasure hunt and to generate one ormore models for identifying locations along the path of the treasurehunt such as, for example, an image-recognition model for recognizingportions of the environment corresponding to positions along thetreasure hunt. Additionally or alternatively, the second mobile computersystem 120 may co-operate with the server computer system 110 via thenetwork 130 in order to provide guidance in relation to the treasurehunt. In particular, as further described below, the second mobilecomputer system 120 may be adapted to present augmented realityenvironments corresponding to treasure hunts. Augmented reality is aspecialized form of virtual reality in which graphic objects in avirtual-reality environment are related to objects in a real-world sceneor environment and are presented in real-time as that real-worldenvironment is captured using an image capture module.

FIGS. 2A and 2B show the front and back of the example mobile computersystem 200, respectively. The example mobile computer system 200 may, insome embodiments, be a smartphone as shown in FIGS. 2A and 2B. In otherembodiments, the example mobile computer system 200 may be another formof mobile computing device such as, for example, a tablet.

In some implementations, instances of the example mobile computer system200 may serve as the first mobile computer system 100 and/or the secondmobile computer system 120.

Referring now to FIG. 2A, the front of the example mobile computersystem 200 includes a display 202. The display 202 is a module of theexample mobile computer system 200. The display 202 is for presentinggraphics. The display 202 may be, for example, a liquid crystal display(LCD). In addition to being an output device, the display 202 may alsobe an input device. For example, the display 202 may allow touch inputto be provided to the example mobile computer system 200. In otherwords, the display 202 may be a touch sensitive display module. In aparticular example, the display 202 may be a capacitive touch screen.

Referring to FIG. 2B, the rear of the example mobile computer system 200includes a camera 204. The camera 204 is an image capture module. Thecamera 204 is for capturing images of the environment of the examplemobile computer system 200. The camera 204 may incorporate a digitalimage sensor such as, for example, a charge coupled device (CCD) or acomplementary metal-oxide-semiconductor (CMOS) image sensor.

FIG. 3 is a high-level schematic diagram of the example mobile computersystem 200. The example mobile computer system 200 includes a variety ofmodules. For example, as illustrated, the example mobile computer system200 may include a processor 310, a memory 320, a communications module330, an I/O module 340, and/or a storage module 350. As illustrated, theforegoing example modules of the example mobile computer system 200 arein communication over a bus 370.

The processor 310 is a hardware processor. The processor 310 may, forexample, be one or more ARM, Intel x86, PowerPC processors or the like.

The memory 320 allows data to be stored and retrieved. The memory 320may include, for example, random access memory, read-only memory, andpersistent storage. Persistent storage may be, for example, flashmemory, a solid-state drive or the like. Read-only memory and persistentstorage are a non-transitory computer-readable storage medium. Acomputer-readable medium may be organized using a file system such asmay be administered by an operating system governing overall operationof the example mobile computer system 200.

The communications module 330 allows the example mobile computer system200 to communicate with other computing devices and/or variouscommunications networks such as, for example, the network 130. Forexample, the communications module 330 may allow the example mobilecomputer system 200 to send or receive communications signals.Communications signals may be sent or received according to one or moreprotocols or according to one or more standards. The communicationsmodule 330 may allow the example mobile computer system 200 tocommunicate via a cellular data network, such as for example, accordingto one or more standards such as, for example, Global System for MobileCommunications (GSM), Code Division Multiple Access (CDMA), EvolutionData Optimized (EVDO), Long-term Evolution (LTE) or the like.Additionally or alternatively, the communications module 330 may allowthe example mobile computer system 200 to communicate using near-fieldcommunication (NFC), via Wi-Fi™, using Bluetooth™ or via somecombination of one or more networks or protocols. In some embodiments,all or a portion of the communications module 330 may be integrated intoa component of the example mobile computer system 200. For example, thecommunications module 330 may be integrated into a communicationschipset.

The I/O module 340 is an input/output module. The I/O module 340 allowsthe example mobile computer system 200 to receive input from and/or toprovide input to components of the example mobile computer system 200such as, for example, various input modules and output modules. Forexample, the I/O module 340 may, as shown, allow the example mobilecomputer system 200 to receive input from and/or provide output to thedisplay 202 and/or the camera 204.

Additionally, the I/O module 340 may receive input from a locationsensor 360. The location sensor 360 may allow a geographic location ofthe example mobile computer system 200 to be ascertained. For example,the location sensor 360 may utilize and may include or may interact witha receiver of one or more of satellite-based location systems, such as,for example, global positioning satellite (GPS), GLONASS, BeiDouNavigation Satellite System (BDS), and/or Galileo in order to locate theexample mobile computer system 200. Additionally or alternatively, thelocation sensor 360 may employ other techniques/technologies forgeographic location determination such as, for example, cell-towertriangulation and/or the use of wireless (e.g., Wi-Fi™) hotspot locationdata. In some embodiments, the location sensor 360 may be omitted andthe function of the location sensor 360 may be performed by or usingother components of the example mobile computer system 200. In aparticular example, a geographic location may be determined using thecommunications module 330 such as, for example, where cell-towertriangulation and/or wireless hotspot location data is employed indetermining location.

The storage module 350 allows data to be stored and retrieved. In someembodiments, the storage module 350 may be formed as a part of thememory 320 and/or may be used to access all or a portion of the memory320. Additionally or alternatively, the storage module 350 may be usedto store and retrieve data from persisted storage other than thepersisted storage (if any) accessible via the memory 320. In someembodiments, the storage module 350 may be used to store and retrievedata in/from a database. A database may be stored in persisted storage.Additionally or alternatively, the storage module 350 may access datastored remotely such as, for example, as may be accessed using a localarea network (LAN), wide area network (WAN), personal area network(PAN), and/or a storage area network (SAN). In some embodiments, thestorage module 350 may access data stored remotely using thecommunications module 330. In some embodiments, the storage module 350may be omitted and its function may be performed by the memory 320and/or by the processor 310 in concert with the communications module330 such as, for example, if data is stored remotely.

Software comprising instructions is executed by the processor 310 from acomputer-readable medium. For example, software may be loaded intorandom-access memory from persistent storage of the memory 320.Additionally or alternatively, instructions may be executed by theprocessor 310 directly from read-only memory of the memory 320.

FIG. 4 depicts a simplified organization of software components storedin the memory 320 of the example mobile computer system 200. Asillustrated, these software components include an operating system 400and an application software 410.

The operating system 400 is software. The operating system 400 allowsthe application software 410 to access the processor 310 (FIG. 3), thememory 320, the communications module 330, the I/O module 340, and thestorage module 350 of the example mobile computer system 200. Theoperating system 400 may be, for example, Google™ Android™, Apple™ iOS™,UNIX™, Linux™, Microsoft™ Windows™, Apple OSX™ or the like.

The application software 410 adapts the example mobile computer system200, in combination with the operating system 400, to operate as adevice for defining a virtual treasure hunt or as a device for providingguidance related to completion of a previously-defined virtual treasurehunt.

Where the example mobile computer system 200 is a smartphone or tablet,the application software 410 may be or may be a part of a smartphone ortablet application or “app”. In a particular example, the applicationsoftware 410 may be a part of an application associated with particularprovider of virtual treasure hunts. As mentioned above and furtherdescribed below, in some embodiments, the virtual treasure hunt mayoffer a virtual good as the treasure. In some such embodiments, theapplication software 410 may be associated with a source of virtualgoods. For example, in the case where the virtual good is a virtual giftcard, the application software 410 may be provided by a vendor fromwhich virtual gift cards may be obtained. In a particular example, sucha vendor may be a virtual wallet provider such as may offer virtual giftcards for sale and/or may allow virtual gift cards to be maintained in avirtual wallet for future use (e.g., in making purchases).

FIG. 5 is a high-level schematic diagram of a server computer system110.

The server computer system 110 includes a variety of modules. Forexample, as illustrated, the server computer system 110 may include aprocessor 510, a memory 520, a communications module 530, and/or astorage module 540. As illustrated, the foregoing example modules of theserver computer system 110 are in communication over a bus 550.

The processor 510 is a hardware processor. The processor 510 may, forexample, be one or more ARM, Intel x86, PowerPC processors or the like.

The memory 520 allows data to be stored and retrieved. The memory 520may include, for example, random access memory, read-only memory, andpersistent storage. Persistent storage may be, for example, flashmemory, a solid-state drive or the like. Read-only memory and persistentstorage are a non-transitory computer-readable storage medium. Acomputer-readable medium may be organized using a file system such asmay be administered by an operating system governing overall operationof the server computer system 110.

The communications module 530 allows the server computer system 110 tocommunicate with other computing devices and/or various communicationsnetworks such as, for example, the network 130. The communicationsmodule 530 may allow the server computer system 110 to send or receivecommunications signals. Communications signals may be sent or receivedaccording to one or more protocols or according to one or morestandards. For example, the communications module 530 may allow theserver computer system 110 to communicate via a cellular data network,such as for example, according to one or more standards such as, forexample, Global System for Mobile Communications (GSM), Code DivisionMultiple Access (CDMA), Evolution Data Optimized (EVDO), Long-termEvolution (LTE) or the like. Additionally or alternatively, thecommunications module 530 may allow the server computer system 110 tocommunicate via Wi-Fi™, using Bluetooth™ or via some combination of oneor more networks or protocols. In some embodiments, all or a portion ofthe communications module 530 may be integrated into a component of theserver computer system 110. For example, the communications module maybe integrated into a communications chipset.

The storage module 540 allows the server computer system 110 to storeand retrieve data. In some embodiments, the storage module 540 may beformed as a part of the memory 520 and/or may be used to access all or aportion of the memory 520. Additionally or alternatively, the storagemodule 540 may be used to store and retrieve data from persisted storageother than the persisted storage (if any) accessible via the memory 520.In some embodiments, the storage module 540 may be used to store andretrieve data in a database. A database may be stored in persistedstorage. Additionally or alternatively, the storage module 540 mayaccess data stored remotely such as, for example, as may be accessedusing a local area network (LAN), wide area network (WAN), personal areanetwork (PAN), and/or a storage area network (SAN). In some embodiments,the storage module 540 may access data stored remotely using thecommunications module 530. In some embodiments, the storage module 540may be omitted and its function may be performed by the memory 520and/or by the processor 510 in concert with the communications module530 such as, for example, if data is stored remotely.

Software comprising instructions is executed by the processor 510 from acomputer-readable medium. For example, software may be loaded intorandom-access memory from persistent storage of the memory 520.Additionally or alternatively, instructions may be executed by theprocessor 510 directly from read-only memory of the memory 520.

FIG. 6 depicts a simplified organization of software components storedin the memory 520 of the server computer system 110. As illustrated,these software components include an operating system 600 and anapplication software 610.

The operating system 600 is software. The operating system 600 allowsthe application software 610 to access the processor 510, the memory520, the communications module 530, and the storage module 540 of theserver computer system 110. The operating system 600 may be, forexample, UNIX™, Linux™, Microsoft™ Windows™, Apple OSX™ or the like.

For example, the application software 610 may cooperate with theoperating system 600 to adapt a suitable embodiment of the servercomputer system 110 to co-operate with a mobile computing device togenerate an image-recognition model for a treasure hunt and/or toprovide navigation guidance related to a treasure hunt.

FIG. 7 is a plan view of an environment 700 which may serve as alocation for an example treasure hunt.

As illustrated, the environment 700 is an interior environment. Theenvironment 700 includes a number of obstacles 720 such as may, forexample, correspond to items such as, for example, furniture,appliances, etc. The environment 700 is also divided into various roomsby a set of walls 730.

A path 710 through the environment 700 defines the path of a treasurehunt starting from a starting point 712 and ending at an ending point714. Conceptually, a treasure may be located at the ending point 714,but that treasure may, in at least some embodiments, have no physicalmanifest and be entirely virtual. For example, the treasure may be avirtual good. Put another way, a treasure hunter or seeker may obtainthe treasure by traveling in person (along with a mobile computersystem) to the ending point 714 at which point an account associatedwith the person and/or their mobile device may be updated to associatethe virtual good with the account. For example, where the virtual goodis and/or includes a virtual gift card, the account may be a virtualwallet or may have a virtual wallet associated therewith and the updatemay add the virtual gift card to the virtual wallet.

A method 800 for generation of an image-recognition module for atreasure hunt such as that depicted in FIG. 7 will now be described withreference to the flowchart of FIG. 8. In performing the method 800,operations starting from an operation 802 and continuing onward areperformed variously by processors of the first mobile computer system100 and the server computer system 110 executing software from theirrespective memories.

At the operation 802, a sequence of images of portions of theenvironment 700 corresponding to the path 710 are captured by the firstmobile computer system 100. For example, the sequence of images may beor may correspond to a video of the example environment captured by thefirst mobile computer system 100 as it moves through the environmentalong the route of the intended treasure hunt. In particular, thesequence of images may be captured by the first mobile computer system100 as it is carried along the path 710 through the environment such as,for example, by the first person 102. The first mobile computer system100 may capture the images using an image capture module. For example,where the first mobile computer system 100 is an instance of the examplemobile computer system 200, the images may be captured using the camera204.

In some embodiments, in addition to capturing a sequence of images ofthe environment, the first mobile computer system 100 may capturelocation data as it travels through the environment. For example, wherethe first mobile computer system 100 is an instance of the examplemobile computer system 200, location data may be captured using thelocation sensor 360. Captured location data may take a variety of formsand may, for example, include one or more of geolocation data,accelerometer data and/or data about proximity to one or more beacons inthe environment.

Following the operation 802, an operation 804 is next.

At the operation 804, the first mobile computer system 100 uploads theimages to the server computer system 110 by way of the network 130. Theserver computer system 110 may receive the transferred images via thenetwork 130 using the communications module 530. Where the first mobilecomputer system 100 is an instance of the example mobile computer system200, the communications module 330 may be employed for transferring theimages to the server computer system 110. Where additional data such as,for example, location data as mentioned above, was collected during thecapture of the sequence of images, some or all of that additional datamay also be transferred by the first mobile computer system 100 to theserver computer system 110.

Following the operation 804, an operation 806 is next.

At the operation 806, the computer server system generates one or moremodels for recognizing locations along the path 710. For example, theserver computer system 110 may use the received images to generate animage-recognition model for recognizing locations along the path 710based on the received images of portions of the environment 700. Such animage-recognition model may be trained using machine-learningtechniques. A training set for such training may be generated based onthe images of the sequence of images in a variety of manners. Forexample, the server may generate a training set using images of portionsof the environment 700 the drawn directly from the sequence of images.Additionally or alternatively, to generate the training set, the servermay modify one or more images to generate additional training data. Forexample, the brightness of images may be adjusted and/or portions ofimages may be zoomed to fill the frame. In another example, shake couldbe added to the sequence of images (i.e., making them a shaky “video”)such as to simulate random jitter or bobbing such as may occur in asequence of images captured by a mobile device held by a person walking.In some cases, the sequence of images may be used to form a training setby modifying some or all of the images using one or more techniques suchas, the foregoing, example techniques. It may, for example, be that agiven image is modified in more than one way or more than once withrandom parameters so that the training set may include more than oneimage based on the given image (e.g., the raw given image, the givenimage modified a first way and/or according to a first set ofparameters, the given image modified a second way and/or according to asecond set of parameters, etc.). More broadly, the model may take intoaccount data other than images and/or more than one model may begenerated. For example, in addition to the sequence of images, collectedlocation data may be employed in training the model and/or in trainingan additional model.

However, generated, after at least one model for recognizing locationsin the environment 700 along the path 710 corresponding to a plannedtreasure hunt has been generated, a requirement to allow the virtualtreasure hunt to be initiated has been satisfied. In some embodiments,there may also be additional requirements that must be satisfied inorder to allow the virtual treasure hunt. For example, there may be oneor more pre-requisites associated with selection and/or purchase of avirtual good such as may serve as the treasure that will be providedupon completion of the virtual treasure hunt. In a particular example,where the virtual good is a virtual gift card, it may be that the giftcard must be purchased and allocated to/associated with the treasurehunt before it can be initiated. Alternatively, it may be that thevirtual good does not have to be purchased in advance but that it mustbe selected from amongst a set of virtual goods of various types orcategories. Additionally or alternatively, it may be the virtual gooddoes not have to be purchased in advance but that payment information tocover the cost thereof has to be provided. For example, it may be thatbank account information and/or payment card information (e.g., creditcard information) is collected and that that information will be used incovering the cost of purchasing the virtual good responsive tocompletion of the treasure hunt. Further, where such information iscollected it may be that a hold (e.g., of bank account funds) and/or anauthorization (e.g., against a credit card) is made/obtained using theinformation in an effort to ensure that the payment method will be ableto cover the cost of purchasing the virtual good when the purchase isprocessed. Whether purchased in advance or whether merely selected inadvance, it may be that the payment information that will be used topurchase the virtual good (either in advance or later such as, forexample, on completion of the treasure hunt) is associated with one orboth of the first person 102 and the first mobile computer system 100.For example, it may be that the payment information is associated withan account that is associated with the first person 102 and/or the firstmobile computer system 100. Put another way, such an account may beemployed (e.g., debited) in supplying the virtual good.

A virtual treasure hunt may be initiated in a variety of fashions. Forexample, it may be that an indication is sent to the second mobilecomputer system 120 (e.g., by the server computer system 110 such as,for example, via the network 130). Such an indication may take a varietyof forms. For example, an e-mail notification including a link toinitiate the virtual treasure hunt may be sent to an address associatedwith the second person 104 and then the second person 104 may use thesecond mobile computer system 120 to open that link. That link may then,for example, be opened using software that operates to provide virtualtreasure hunts and/or the link may allow such software to be downloadedand executed at the second mobile computer system 120. As mentionedabove and further described below, in some implementations, a treasurehunter completing a virtual treasure hunt may be provided with a virtualgood. For example, an electronic coupon (e.g., for money off aparticular good/goods and/or at a particular retailer/retailers), avirtual gift card (e.g., as may be spent at associated merchants), avirtual points card (such as a virtual loyalty points card) and/orpoints therefor, an electronic money transfer (e.g., as may be depositedinto an account associated with the treasure hunter upon completion ofthe hunt), or the like. The manner of initiating a treasure hunt maycorrespond to the virtual good that will be provided upon completionthereof. For example, in the case of a gift card or an electronic moneytransfer, the notification may be or include an e-mail or other messageindicating that such a virtual good has been sent to a user pendingcompletion of the virtual treasure hunt. Furthermore, software used toprovide a treasure hunt may, additionally or alternatively, correspondto the virtual good that will be provided upon completion thereof. Forexample, where the virtual good is a money transfer, a money transfer orbanking app may provide the treasure hunt and/or access thereto. Inanother example, where the virtual good is a gift card or coupon, avirtual wallet app may provide the treasure hunt and/or access thereto.

Once the virtual treasure hunt has been initiated at the second mobilecomputer system 120, the second mobile computer system 120 acts toprovide navigation guidance to allow the path 710 to be followed throughthe environment, starting from the starting point 712 through to theending point 714.

FIG. 9 is a flowchart showing operations performed by the second mobilecomputer system 120 in providing guidance along a path corresponding toa given treasure hunts. The operation of the second mobile computersystem 120 will now be described with reference to the flowchart of FIG.9 which illustrates a method 900 for providing guidance along a pathcorresponding to a given treasure hunt. In performing the method 900,operations starting from an operation 902 and continuing onward areperformed a processor of the second mobile computer system 120 executingstored instructions. For example, where the second mobile computersystem 120 is an instance of the example mobile computer system 200, theoperations may be performed by the processor 310 executing instructionssuch as, for example, from the memory 320. In a particular example, someor all of the operations may be performed by the processor 310 of theexample mobile computer system 200 executing software such as, forexample, a suitable instance of the application software 410 (FIG. 4).

At the operation 902, at least one model for recognizing locations alongthe path 710 is received. Put another way, the second mobile computersystem 120 receives data corresponding to a model for identifyinglocations within the environment 700 based on images of portions of theenvironment 700. The model(s) may be received by the second mobilecomputer system 120 from a remote computer system. For example, one ormore models may be received from the server computer system 110 such as,for example, via the network 130. In a particular example, where thesecond mobile computer system 120 is an instance of the example mobilecomputer system 200, the model may be received using the communicationsmodule 330. In some implementations, at least one of the received modelsmay be compressed. For example, it may be that one or more models arecompressed before it/they are sent to the second mobile computer system120 by way of one or more operations performed by a remote computersystem (e.g., the server computer system 110) including, for example,one or more of pruning, quantization, and/or encoding, if applicable.Notably, the received model(s) may correspond to a model generatedaccording to the method 800.

Following the operation 902, an operation 904 is next.

At the operation 904, at least one indication of the starting point 712is provided by the second mobile computer system 120. Recall that, thestarting point 712 is the starting point of the path 710 and that thepath 710 is the path that must be following through the environment tocomplete the treasure hunt. For example, where completion of thetreasure hunt allows a virtual good to be obtained, presenting at leastone indication of the starting point 712 has the effect of presentingone or more indications of a starting point of a path to be followedthrough the environment 700 to obtain the virtual good.

The second mobile computer system 120 may display an appropriateindication to the user. In a particular example, the second mobilecomputer system 120 may detect the starting point using the modelreceived at the operation 902 and may provide an indication of suchdetection. In this way, a user viewing the display screen may learn whenthey are at the starting point.

In some implementations, the second mobile computer system 120 may (forexample using a model received at the operation 902) provide navigationguidance allowing a user to navigate to the starting point 712.

Additionally or alternatively, it may be that the second mobile computersystem 120 allows a user to identify the starting point 712 bydisplaying an image showing a portion of the environment 700 includingand/or proximate to the starting point 712 so that a user may thennavigate to that area. In some implementations, such an image may bereceived by the second mobile computer system 120 from the servercomputer system 110 and may have been extracted by the server computersystem 110 from a sequence of images corresponding the path 710 asdiscussed above in relation to the discussion of the method 800.

Additionally or alternatively, it may be that the second mobile computersystem 120 identifies the starting point 712 in another manner such as,for example, using location information. For example, where the secondmobile computer system 120 is an instance of the example mobile computersystem 200, the location sensor 360 may be employed in order todetermine and provide an indication of a direction the second mobilecomputer system 120 should travel to reach the starting point 712 and/orto detect when the second mobile computer system 120 has reached thestarting point 712.

The second mobile computer system 120 may detect that the second mobilecomputer system 120 has reached a portion of the environment 700 at orproximate to the starting point 712. In some implementations, suchdetection may trigger flow control to proceed to an operation 906.However triggered, following the operation 904, an operation 906 isnext.

Once the second person 104 and the second mobile computer system 120reach the starting point, the second person 104 is expected to act as aseeker trying to complete the treasure hunt. Put another way, the secondperson 104 is expected to try to travel along the path 710 and to bringthe second mobile computer system 120 with them as they attempt totravel along the path.

At the operation 906, the second mobile computer system 120 presentsnavigation indications as it moves through the environment 700 (e.g., asit is carried around by the second person 104 as they navigate theenvironment 700 to try to complete the treasure hunt). Conveniently, inthis way, the second mobile computer system 120 may assist the secondperson 104 in completing the treasure hunt and, more particularly, infollowing the path 710 through the environment 700. As further describedbelow, in some implementations, the navigation indications may bepresented in an augmented reality depiction of portions of theenvironment 700 as captured by an image capture module of the secondmobile computer system 120.

An example manner of presenting navigation indications is shown in FIG.10 which provides a flowchart illustrating operations of a method 1000for presenting navigation indications to allow the path 710 to befollowed. The method 1000 may be performed as the second mobile computersystem 120 travels through the environment 700 from the above-discussedlocation at or at least proximate to the starting point 712. Inperforming the method 1000, operations starting from an operation 1002and continuing onward are performed by a processor of the second mobilecomputer system 120 executing stored instructions. For example, wherethe second mobile computer system 120 is an instance of the examplemobile computer system 200, the operations may be performed by theprocessor 310 executing instructions such as, for example, from thememory 320 such as, for example, instructions that are part of asuitable instance of the application software 410 (FIG. 4). Notably, insome implementations, such software may be or be a part of a subroutineor module of software implementing the method 900. For example, theoperations comprising the method 1000 may, in some implementations, besub operations of the operation 906 of the method 900.

Referring to FIG. 10, at the operation 1002, images of portions of theenvironment 700 are captured by the second mobile computer system 120.The images may be captured using an image capture module. For example,where the second mobile computer system 120 is an instance of theexample mobile computer system 200, images may be captured using thesecond person 104.

FIG. 11 shows an example image 1100 of a portion of the environment 700such as may be captured by the second mobile computer system 120 at theoperation 1002.

Returning to consideration of FIG. 10 and the method 1000, following theoperation 1002, an operation 1004 is next.

At the operation 1004, locations corresponding to the path 710 aredetected by the second mobile computer system 120.

Locations corresponding to the path 710 may be detected in a variety ofmanners.

In a first example of how locations corresponding to the path 710 may bedetected by the second mobile computer system 120, it may be thatlocations are detected based on a model for identifying locations withinthe environment 700 using images showing portions of the environment700. For example, one or more models received at the operation 902 maybe employed to detect the current location of the second mobile computersystem 120 based on the images of portions of the environment capturedat the operation 1002.

In a second example of how locations corresponding to the path 710 maybe detected by the second mobile computer system 120, it may be thatlocations are detected using a location module. For example, where thesecond mobile computer system 120 is an instance of the example mobilecomputer system 200, the location sensor 360 may be employed inidentifying locations along the path 710. Put another way, it may bethat, regardless of the form/type of location module employed, detectinglocations corresponding to the path 710 includes monitoring the locationof the second mobile computer system 120 using a location module.

In yet another example, in some implementations, locations correspondingto the path 710 may be detected based on a combination of techniques.For example, the foregoing example techniques may be used in combinationwith each other or some of all of the foregoing example techniques maybe used in combination with one or more other manners of detectinglocations along the path 710.

Following the operation 1004, an operation 1006 is next.

At the operation 1006, one or more of the images captured at theoperation 1002 are modified based on the locations detected at theoperation 1004. For a given one of the images being modified, themodifying includes compositing a given one of the captured images with anavigation indication corresponding to a direction of the path 710relative to a detected location corresponding to the path 710. Moreparticularly, a given captured image may be modified to include anavigation indication corresponding to a direction of the path 710relative to the location of the second mobile computer system 120 asdetected at a time at or about (i.e., temporally proximate to) thecollection of the given image by the second mobile computer system 120.

Following the operation 1006, an operation 1008 is next.

At the operation 1008, the modified one or more of the captured imagesare displayed using a display module of the example mobile computersystem 200. For example, where the second mobile computer system 120 isan instance of the example mobile computer system 200, modified imagesmay be displayed on/using the display 202.

Conveniently, by so modifying and presenting captured images to includenavigation indications, navigation indications can be presented inaugmented reality. An example of modification of a captured image toinclude a navigation indication will now be discussed with reference toFIG. 12.

FIG. 12 shows a user interface 1200 such as may be shown on a screen ofthe second mobile computer system 120. As illustrated, the userinterface 1200 corresponds to the example image 1100 (FIG. 11). However,in the user interface 1200, the example image 1100 has been modified(e.g., at the operation 1006) with the addition of a navigationindication 1210. In effect, the navigation indication 1210 is present inan augmented reality depiction of the portion of the environment 700depicted in the example image 1100.

As illustrated, the navigation indication 1210 is an arrow indicating adirection that the second mobile computer system 120 (and the secondperson 104) should next travel to follow the path 710. Put another way,navigation indications such as the navigation indication 1210 mayinclude arrows indicating a direction for the second mobile computersystem 120 and the second person 104 to next travel to follow the path710. Additionally or alternatively, such navigation indications mayinclude instructive text and/or direction symbols other than arrows.

The discussion now returns to consideration of FIG. 9. However they arepresented, following presentation of navigation indications at theoperation 906, an operation 908 is next.

As the second mobile computer system 120 (and the second person 104)continue to follow the path 710, it (and they) will be expected toeventually reach the ending point 714. Put another way, if the secondperson 104 successfully uses the navigation guidance provided by thesecond mobile computer system 120 to follow the path 710, the secondperson 104 will eventually complete the treasure hunt.

The second mobile computer system 120 reaching the ending point 714 or alocation proximate thereto is detected at the operation 908.

That the second mobile computer system 120 is in a location proximatethe ending point 714 of the path 710 may be detected in a variety ofmanners. For example, that the second mobile computer system 120 isproximate the ending point 714 may be detected in manners the same orsimilar to how manners how the second mobile computer system 120 beingat the starting point 712 may be detected as discussed above in relationto the operation 904.

In a first example of a manner of detecting that the second mobilecomputer system 120 is proximate the ending point 714 of the path 710,such a condition may be detected using a model for recognizing locationsalong the path 710 based on captured images of portions of theenvironment 700 (e.g., using a model received at the operation 902).More specifically, such a model may be employed in order to detect thatthe second mobile computer system 120 is in a location proximate theending point 714 based on a captured image of the environment 700. Forexample, where the operation 906 includes performance of the method 1000as discussed above, the second mobile computer system 120 being at orproximate to the ending point 714 may be detected using a model andbased on one or more images captured at the operation 1002.

In a second example of a manner of detecting that the second mobilecomputer system 120 is proximate the ending point 714 of the path 710,such a condition may be detected based on the location of the secondmobile computer system 120 as monitored using a location module. Forexample, where the second mobile computer system 120 corresponds to aninstance of the example mobile computer system 200, the second mobilecomputer system 120 being proximate the ending point 714 may be detectedusing the location sensor 360.

However detected, following detection that the second mobile computersystem 120 is at or proximate the ending point 714 of the path 710, anoperation 910 is next.

At the operation 910, the processor of the second mobile computer system120 effects and/or triggers one or more side-effects intended torecognize the completion of the treasure hunt by the second person 104.

For example, in some implementations, at the operation 910, an accountassociated with the second mobile computer system 120 may be updatedresponsive to detecting at the operation 908 that the second mobilecomputer system 120 is in a location proximate the ending point 714.

Such an update may take a variety of forms. For example, wherecompletion of the treasure hunt allows a virtual good to be obtained asdiscussed above, the account may be updated to associate the virtualgood with the account. That virtual good may, for example, have beensupplied by the party (e.g., the first person 102) responsible fordefining the treasure hunt and/or drawn from an account associated witha device that was employed for specifying the treasure hunt (e.g., thefirst mobile computer system 100). Additionally or alternatively, it maybe that the account being updated corresponds to a virtual wallet. Forexample, it may be that the account is an account used with a virtualwallet app that allows the contents of a particular virtual wallet to beaccessed. Such a virtual wallet app may, for example, be installedand/or executing on the second mobile computer system 120 and the secondperson 104 may be logged into their account in that app. Additionally oralternatively, the virtual good that can be obtained may be or mayinclude a virtual gift card. For example, where the account correspondsto a virtual wallet and the virtual good is or includes a virtual giftcard, the side effect may/include be an update to the aforementionedaccount associated with the second mobile computer system 120 such as,for example, to add the virtual gift card to the virtual wallet.Alternatively, such as, for example, where the user already has someother virtual gift card, the virtual good may include additional valueto be added to an existing gift card such as, for example, an existinggift card in a virtual wallet and the side effect may be or/include theaddition of that additional value to the existing gift card. In anotherexample, the virtual good may include points (e.g., loyalty points) andthe side effect may be/include the addition of those points to anexisting points card/virtual points card/points card account. Notablysuch a virtual points card may also reside in a virtual wallet and/ormay be added thereto in manners such as, for example, were discussedabove in relation to virtual gift cards.

Furthermore, as mentioned above, it may be that the virtual good hasonly been selected (and not purchased or otherwise acquired orallocated) prior to initiation of the hunt. Accordingly, it may be that,additionally or alternatively, the virtual good is procured and/orgenerated responsive to completion of the treasure hunt. For example, inthe case where the virtual good must be purchased (e.g., as with, forexample, a virtual gift card) previously received payment information(e.g., bank account and/or payment card information as discussed above)may be used to complete the purchase. Notably, where a hold orauthorization was previously obtained in an effort to assure that such apurchase could be completed, it may be that completion of the purchasehas an effect and/or is performed relative to such a hold orauthorization. For example, completion of the purchase may cause a holdon funds to be released. In another example, it may be that the purchaseis completed against a previously-obtained authorization.

In another example of a side-effect intended to recognize completion ofthe treasure hunt, it may be that, responsive to detecting that thesecond mobile computer system 120 is in a location proximate the endingpoint 714, the second mobile computer system 120 may display, using adisplay module thereof, an animation. For example, in implementationswhere the second mobile computer system 120 is an instance of theexample mobile computer system 200, such an animation may be displayedusing the display 202.

Such an animation may take a variety of forms. For example, as shown inFIG. 13A, a first example user interface 1300 may be presented uponcompletion of the treasure hunt that includes an animation 1310 offireworks going off.

In another example, where the treasure is a gift card as discussedabove, an animation may be presented such as that depicted in a secondexample user interface 1320 in FIG. 13B. As illustrated, the secondexample user interface 1320 includes an animation of a gift card 1330flying or being placed in a wallet 1340.

Whatever the form of the animations, in some implementations such ananimation may be composited with one or more images of a portion of theenvironment 700 captured as the second mobile computer system 120 as itis at or proximate the ending point 714. Notably, by compositing andpresenting such images on a display of the second mobile computer system120 in real-time or near real-time, the animation may made to appear asif was occurring in the environment 700 as viewed through the display ofthe second mobile computer system 120. Put another way, in someimplementations, the animation may be presented in augmented reality.

The above is by way of example only. A skilled person having regard tothe discussion of example embodiments above will recognize that thoseexample embodiments are capable of variation without departing from thesubject matter of the present application. For example, in someimplementations, a user may be provided with additional guidance innavigating the treasure hunt. Such additional guidance may take the formof providing a virtual treasure map. Such a map may be presented on ascreen of the second mobile computer system 120 such as, for example,responsive to input received by the second mobile computer system 120(e.g., as may be provided by the second person 104).

An example virtual treasure map is shown in FIG. 14. As shown, thesecond mobile computer system 120 may display a treasure map userinterface 1400. The treasure map user interface 1400 includes arepresentation of a treasure map 1410. Such a presented treasure map mayprovide various information about the path 710. For example, asillustrated, the treasure map 1410 may include a depiction 1420 of thepath 710. Additionally or alternatively, the treasure map 1410 may, asshown in FIG. 14, include a symbol 1422 depicting the ending point 714of the path 710 relative to the depiction 1420 of the path 710.Additionally or alternatively, in some implementations, a treasure mapmay include a symbol depicting the starting point 712 of the path 710(not shown in FIG. 14). Additionally or alternatively, the treasure map1410 may include a current position indication 1430 indicating thecurrent position of the second mobile computer system 120 in theenvironment 700 relative to path 710. In summary, a treasure map userinterface may depict a treasure map including some or all of theaforementioned possible visual elements.

A treasure map may be generated in a variety of manners. For example, itmay be that such a map is generated based on the path 710 by a serversuch as, for example, the server computer system 110 and is then sent to(and received by) the second mobile computer system 120 in advance ofthe start of the hunt (e.g., via the network 130). In a particularexample, the server computer system 110 may generate a treasure mapbased on location data and/or a sequence of images such as were, forexample, collected by another electronic device (e.g., the first mobilecomputer system 100) as it travelled through the environment 700 alongthe path 710 (e.g., collected as discussed above in relation to theoperation 802 of the method 800).

Example embodiments of the present application are not limited to anyparticular operating system, system architecture, mobile devicearchitecture, server architecture, or computer programming language.

It will be understood that the applications, modules, routines,processes, threads, or other software components implementing thedescribed method/process may be realized using standard computerprogramming techniques and languages. The present application is notlimited to particular processors, computer languages, computerprogramming conventions, data structures, or other such implementationdetails. Those skilled in the art will recognize that the describedprocesses may be implemented as a part of computer-executable codestored in volatile or non-volatile memory, as part of anapplication-specific integrated chip (ASIC), etc.

As noted, certain adaptations and modifications of the describedembodiments can be made. Therefore, the above discussed embodiments areconsidered to be illustrative and not restrictive.

What is claimed is:
 1. A mobile computer system comprising: a processor;an image capture module coupled to the processor; a display modulecoupled to the processor; and a memory module coupled to the processorand storing instructions that, when executed by the processor, cause themobile computer system to: receive data corresponding to animage-recognition model for identifying locations within an environmentbased on images of portions of the environment, the image-recognitionmodel being previously generated based on a video captured by anotherelectronic device as the another electronic device travelled through theenvironment along a path through the environment; present one or moreindications of a starting point of the path to be followed through anenvironment to obtain a virtual gift card; as the mobile computer systemtravels through the environment from a location proximate the startingpoint, present navigation indications to allow the path to be followed,the presenting including: capturing, using the image capture module,images of portions of the environment; detecting locations correspondingto the path, including identifying one or more locations within theenvironment based on the captured images using the image-recognitionmodel; modifying one or more of the captured images based on thedetected locations corresponding to the path, the modifying includingcompositing a given captured image with a navigation indicationcorresponding to a direction of the path relative to a correspondingdetected location corresponding to the path; and displaying, using thedisplay module, the modified one or more of the captured images; detectthat the mobile computer system is in a location proximate an endingpoint of the path; and responsive to detecting that the mobile computersystem is in the location proximate the ending point, update an accountassociated with the mobile computer system to associate the virtual giftcard with the account.
 2. The mobile computer system of claim 1, whereinthat the mobile computer system is in the location proximate the endingpoint of the path is detected using the model based on at least one ofthe captured images of portions of the environment.
 3. The mobilecomputer system of claim 1, wherein the mobile computer system furtherincludes a location module and wherein detecting locations correspondingto the path includes monitoring the location of the mobile computersystem using the location module.
 4. The mobile computer system of claim3, wherein that the mobile computer system is in the location proximatethe ending point of the path is detected based on the location of themobile computer system as monitored using the location module.
 5. Themobile computer system of claim 1, wherein the navigation indicationsinclude arrows indicating a direction to next travel to follow the path.6. The mobile computer system of claim 1, wherein the instructions, whenexecuted by the processor, further cause the mobile computer system to:responsive to detecting that the mobile computer system is in thelocation proximate the ending point, display, using the display module,an animation.
 7. The mobile computer system of claim 1, wherein theinstructions, when executed by the processor, further cause the mobilecomputer system to: display, using the display module, a map depictingat least the ending point of the path.
 8. The mobile computer system ofclaim 7, wherein the map was previously generated based on location datapreviously collected by another electronic device as the anotherelectronic device travelled through the environment along the paththrough the environment.
 9. The mobile computer system of claim 1,wherein the account corresponds to a virtual wallet.
 10. The mobilecomputer system of claim 9 wherein updating the account associated withthe mobile computer system to associate the virtual gift card with theaccount includes adding the virtual gift card to the virtual wallet. 11.A computer-implemented method comprising: receiving data correspondingto an image-recognition model for identifying locations within anenvironment based on images of portions of the environment, theimage-recognition model being previously generated based on a videocaptured by another electronic device as the another electronic devicetravelled through the environment along a path through the environment;presenting one or more indications of a starting point of the path to befollowed through an environment to obtain a virtual gift card; as amobile computer system travels through the environment from a locationproximate the starting point, presenting navigation indications to allowthe path to be followed, the presenting including: capturing, by themobile computer system, images of portions of the environment; detectinglocations corresponding to the path, including identifying one or morelocations within the environment based on the captured images using theimage-recognition model; modifying one or more of the captured imagesbased on the detected locations corresponding to the path, the modifyingincluding compositing a given captured image with a navigationindication corresponding to a direction of the path relative to acorresponding detected location corresponding to the path; anddisplaying, using a display of the mobile computer system, the modifiedone or more of the captured images; detecting that the mobile computersystem is in a location proximate an ending point of the path; andresponsive to detecting that the mobile computer system is in thelocation proximate the ending point, updating an account associated withthe mobile computer system to associate the virtual gift card with theaccount.
 12. The computer-implemented method of claim 11, wherein thatthe mobile computer system is in the location proximate the ending pointof the path is detected using the model based on at least one of thecaptured images of portions of the environment.
 13. Thecomputer-implemented method of claim 11, wherein detecting locationscorresponding to the path includes monitoring the location of the mobilecomputer system using a location module of the mobile computer.
 14. Thecomputer-implemented method of claim 11, further comprising: responsiveto detecting that the mobile computer system is in the locationproximate the ending point, displaying, using the display, an animation.15. The computer-implemented method of claim 11, wherein the accountcorresponds to a virtual wallet and wherein updating the accountassociated with the mobile computer system to associate the virtual giftcard with the account includes adding the virtual gift card to thevirtual wallet.
 16. A non-transitory computer-readable storage mediumstoring instructions that, when executed by a processor of a mobilecomputer system, cause the computer system to: receive datacorresponding to an image-recognition model for identifying locationswithin an environment based on images of portions of the environment,the image-recognition model being previously generated based on a videocaptured by another electronic device as the another electronic devicetravelled through the environment along a path through the environment;present one or more indications of a starting point of the path to befollowed through an environment to obtain a virtual gift card; as themobile computer system travels through the environment from a locationproximate the starting point, present navigation indications to allowthe path to be followed, the presenting including: capturing images ofportions of the environment; detecting locations corresponding to thepath, including identifying one or more locations within the environmentbased on the captured images using the image-recognition model;modifying one or more of the captured images based on the detectedlocations corresponding to the path, the modifying including compositinga given captured image with a navigation indication corresponding to adirection of the path relative to a corresponding detected locationcorresponding to the path; and displaying the modified one or more ofthe captured images; detect that the mobile computer system is in alocation proximate an ending point of the path; and responsive todetecting that the mobile computer system is in the location proximatethe ending point, update an account associated with the mobile computersystem to associate the virtual gift card.
 17. The non-transitorycomputer-readable storage medium of claim 16, wherein the navigationindications include arrows indicating a direction to next travel tofollow the path.
 18. The non-transitory computer-readable storage mediumof claim 16, wherein the instructions, when executed by a processor of amobile computer system, further cause the computer system to: display,using a display module, a map depicting at least the ending point of thepath, wherein the map was previously generated based on location datapreviously collected by another electronic device as the anotherelectronic device travelled through the environment along the paththrough the environment.
 19. The non-transitory computer-readablestorage medium of claim 16, wherein that the mobile computer system isin the location proximate the ending point of the path is detected usingthe model based on at least one of the captured images of portions ofthe environment.
 20. The non-transitory computer-readable storage mediumof claim 16, wherein the mobile computer system further includes alocation module and wherein detecting locations corresponding to thepath includes monitoring the location of the mobile computer systemusing the location module.
 21. The non-transitory computer-readablestorage medium of claim 16, wherein the account corresponds to a virtualwallet.
 22. The non-transitory computer-readable storage medium of claim21, wherein updating the account associated with the mobile computersystem to associate the virtual gift card with the account includesadding the virtual gift card to the virtual wallet.